<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd ">
<html xmlns:u="http://java.sun.com/jsf/facelets"
	xmlns:h="http://java.sun.com/jsf/html"
	xmlns:f="http://java.sun.com/jsf/core"
	xmlns:t="http://com.ss.stockmanager/jsf"
	xmlns:p="http://primefaces.org/ui" xmlns="http://www.w3.org/1999/xhtml">

<body>
	<u:composition template="/pages/layout/pageLayout.xhtml">
		<u:define name="body">
			<h:form id="form">
				<p:panel id="panelFiltro" header="#{msgs.common_filtros}"
					rendered="#{!proveedorController.addEdit}">
					<h:panelGrid columns="5">
						<h:outputText value="#{msgs.admProveedor_nombre}" />
						<p:inputText value="#{proveedorController.query.nombre}"
							maxlength="200" size="50" />
						<h:outputText value="#{msgs.admProveedor_nombreFantasia}" />
						<p:inputText value="#{proveedorController.query.nombreFantasia}"
							maxlength="200" size="50" />

						<p:commandButton value="Consultar"
							actionListener="#{proveedorController.query}" update="dataTable">
						</p:commandButton>
					</h:panelGrid>
				</p:panel>

				<h:outputText value="&#160;" />

				<p:growl id="messages" life="5000" />
				<p:dataTable id="dataTable" var="proveedor"
					value="#{proveedorController.lazyDM}" paginator="true" rows="10"
					paginatorTemplate="{CurrentPageReport} {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}"
					rowsPerPageTemplate="10,15,20"
					rendered="#{!proveedorController.addEdit}"
					emptyMessage="No se encontraron registros" dynamic="true"
					lazy="true">

					<f:facet name="header">
						<h:outputText value="#{msgs.admProveedor_title}" />
					</f:facet>

					<p:column>
						<f:facet name="header">
							<h:outputText value="#{msgs.admProveedor_nombre}" />
						</f:facet>
						<h:outputText value="#{proveedor.nombre}" />
					</p:column>

					<p:column>
						<f:facet name="header">
							<h:outputText value="#{msgs.admProveedor_nombreFantasia}" />
						</f:facet>
						<h:outputText value="#{proveedor.nombreFantasia}" />
					</p:column>

					<p:column style="width:80px">
						<f:facet name="header">
							<h:outputText value="#{msgs.common_opciones}" />
						</f:facet>
						<h:panelGrid columns="3">
							<p:commandLink actionListener="#{proveedorController.edit}"
								update=":form, :form:tabView:listaProductoDT">
								<h:graphicImage url="/resources/images/edit.gif"
									title="Modificar" style="border:0px" />
							</p:commandLink>
							<h:commandLink actionListener="#{proveedorController.delete}"
								onclick="return confirm('¿Está seguro de eliminar el registro?');">
								<h:graphicImage url="/resources/images/delete.gif"
									title="Eliminar" style="border:0px" />
							</h:commandLink>
						</h:panelGrid>
					</p:column>

					<f:facet name="footer">
						<p:commandButton value="#{msgs.common_agregar}"
							actionListener="#{proveedorController.add}" update=":form" process="@this">
							<p:resetInput target=":form:tabView:listaProductoCodigoDT" />
						</p:commandButton>
					</f:facet>
				</p:dataTable>


				<h:panelGrid id="panel" columns="1"
					rendered="#{proveedorController.addEdit}">

					<p:tabView id="tabView" widgetVar="tabView">
						<p:tab title="#{msgs.admProveedor_datosPrincipales}">
							<p:focus for="nombreIT" />
							<p:panel header="#{msgs.admProveedor_datosPrincipales}">
								<h:panelGrid columns="3">
									<h:outputText value="#{msgs.admProveedor_nombre}" />
									<p:inputText id="nombreIT"
										value="#{proveedorController.view.nombre}" maxlength="200"
										size="50">
										<f:validateBean for="nombreIT" />
									</p:inputText>
									<h:message id="mnIT" for="nombreIT" />

									<h:outputText value="#{msgs.admProveedor_nombreFantasia}" />
									<p:inputText id="nombreFantasiaIT"
										value="#{proveedorController.view.nombreFantasia}"
										maxlength="200" size="50">
										<f:validateBean for="nombreFantasiaIT" />
									</p:inputText>
									<h:message id="mnfIT" for="nombreFantasiaIT" />

									<h:outputText value="#{msgs.admProveedor_dni}" />
									<p:inputText id="dniIT" value="#{proveedorController.view.dni}"
										maxlength="200" size="50">
										<f:validateBean for="dniIT" />
									</p:inputText>
									<h:message id="mdIT" for="dniIT" />

									<h:outputText value="#{msgs.admProveedor_cuil}" />
									<p:inputText id="cuilIT"
										value="#{proveedorController.view.cuil}" maxlength="200"
										size="50">
										<f:validateBean for="cuilIT" />
									</p:inputText>
									<h:message id="mclIT" for="cuilIT" />

									<h:outputText value="#{msgs.admProveedor_cuit}" />
									<p:inputText id="cuitIT"
										value="#{proveedorController.view.cuit}" maxlength="200"
										size="50">
										<f:validateBean for="cuitIT" />
									</p:inputText>
									<h:message id="mctIT" for="cuitIT" />
									
									<h:outputText value="Tipo de proveedor" />
							        <p:selectOneMenu id="tipoProvIT" value="#{proveedorController.view.tipoProveedor}">
							            <f:selectItem itemLabel="Interno" itemValue="I" />
							            <f:selectItem itemLabel="Externo" itemValue="E" />
							        </p:selectOneMenu>
									<h:message id="tpIT" for="tipoProvIT" />
									
								</h:panelGrid>

							</p:panel>
						</p:tab>
						<p:tab id="tabContactos"
							title="#{msgs.admContactos_datosPrincipales}">

							<t:contactoListado
								contactoController="#{proveedorController.contactoController}" />

						</p:tab>

						<p:tab title="#{msgs.admDireccion_datosPrincipales}">
							<t:direccion
								direccionController="#{proveedorController.direccionController}" />
						</p:tab>

						<p:tab title="#{msgs.admProveedor_productos}">

							<p:panel header="#{msgs.admProveedor_productos}">
								<p:dataTable id="listaProductoDT" var="producto"
									value="#{proveedorController.listaProducto}"
									emptyMessage="No hay productos para mostrar"
									widgetVar="productosDataTable"
									filteredValue="#{proveedorController.listaProductoCodigoFiltrado}"
									selection="#{proveedorController.listaProductoSeleccionado}"
									selectionMode="multiple" rowKey="#{producto.id}"
									paginator="true" rows="20"
									paginatorTemplate="{CurrentPageReport} {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}"
									rowsPerPageTemplate="10,15,20">

									<p:column align="center" filterBy="#{producto.detalle}"
										filterMatchMode="contains">
										<f:facet name="header">
											<h:outputText value="#{msgs.admProveedor_producto}" />
										</f:facet>
										<h:outputText value="#{producto.detalle}" />
									</p:column>

									<p:column align="center" filterBy="#{producto.codigoProducto}"
										filterMatchMode="contains">
										<f:facet name="header">
											<h:outputText value="#{msgs.admProveedor_productoCodigo}" />
										</f:facet>
										<h:outputText value="#{producto.codigoProducto}" />
									</p:column>

									<f:facet name="footer">
										<p:commandButton value="#{msgs.common_agregar}"
											actionListener="#{proveedorController.addProducto}"
											update=":form:tabView:listaProductoCodigoDT,:form:messages,listaProductoDT"
											process="listaProductoDT">
										</p:commandButton>
									</f:facet>
								</p:dataTable>

							</p:panel>

							<p:panel header="#{msgs.admProveedor_productosSeleccionados}">
								<p:dataTable id="listaProductoCodigoDT"
											 rowIndexVar="rowIndex"
											 var="productoCodigo"
											 value="#{proveedorController.productoSeleccionadoDM}"
											 emptyMessage="No hay productos seleccionados"
											 widgetVar="productosCodigoDataTable" 
											 paginator="true" 
											 rows="20"
											 paginatorTemplate="{CurrentPageReport} {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}"
											 rowsPerPageTemplate="10,15,20">

									<p:column headerText="Nro Linea" style="width:40px;text-align:center;">
										#{rowIndex+1}
									</p:column>
											 
									<p:column align="center">
										<f:facet name="header">
											<h:outputText value="#{msgs.admProveedor_producto}" />
										</f:facet>
										<h:outputText value="#{productoCodigo.producto.detalle}" />
									</p:column>

									<p:column align="center">
										<f:facet name="header">
											<h:outputText value="#{msgs.admProveedor_productoCodigoPorveedor}" />
										</f:facet>
										<p:inputText value="#{productoCodigo.codigoProveedor}" ></p:inputText>
									</p:column>

									<p:column style="width:40px">
										<f:facet name="header">
											<h:outputText value="#{msgs.common_opciones}" />
										</f:facet>
										<h:panelGrid columns="3">
											<p:commandLink
												actionListener="#{proveedorController.deleteProducto}"
												update="listaProductoCodigoDT,:form:messages"
												process="@this">
												<h:graphicImage url="/resources/images/delete.gif"
													title="#{msgs.common_eliminar}" style="border:0px" />
											</p:commandLink>
										</h:panelGrid>
									</p:column>
								</p:dataTable>

							</p:panel>

						</p:tab>

					</p:tabView>



					<!-- ================================================== -->
					<!-- Opciones											-->
					<!-- ================================================== -->
					<h:panelGrid columns="2">
						<p:commandButton value="#{msgs.common_guardar}"
							actionListener="#{proveedorController.save}" update=":form">
						</p:commandButton>
						<p:commandButton value="#{msgs.common_volver}" process="@this"
							actionListener="#{proveedorController.cancel}" immediate="true"
							update=":form">
							<p:resetInput target=":form:tabView:listaProductoCodigoDT" />
						</p:commandButton>
					</h:panelGrid>
				</h:panelGrid>
			</h:form>

			<t:contacto
				contactoController="#{proveedorController.contactoController}"
				onCloseUpdate=":form:tabView:listaContactosDT"
				update=":contactoForm:panelGridContacto, :form:messages, :form:tabView:listaContactosDT" />

		</u:define>
	</u:composition>
</body>
</html>